func create{{.upperStartCamelObject}}Model(ctx context.Context, c *jrpc.Jclient, b []byte) error {
	// 实现创建 {{.upperStartCamelObject}} 对象的逻辑
	m := po.New{{.upperStartCamelObject}}Model(c)

    t := &po.{{.upperStartCamelObject}}{}

	err := json.Unmarshal(b, t)
	if err != nil {
		return err
	}

	r, err := m.Insert(ctx, t)
	if err != nil {
		return err
	}
	fmt.Printf("%s\n", r)
	return err
}

func read{{.upperStartCamelObject}}Model(ctx context.Context, c *jrpc.Jclient, b []byte) error {
	// 实现读取 {{.upperStartCamelObject}} 对象的逻辑
	m := po.New{{.upperStartCamelObject}}Model(c)


    id:= {{ if eq .dataType "string" }}"1"{{else if eq .dataType "int64" }}int64(1){{else if eq .dataType "uint64" }}uint64(1){{else}}1{{end}}
	r, err := m.FindOne(ctx, id)
	if err != nil {
		return err
	}

	bb, err := json.MarshalIndent(r, "", "  ")
	if err != nil {
		return err
	}

	fmt.Printf("%s\n", bb)
	return nil
}

func update{{.upperStartCamelObject}}Model(ctx context.Context, c *jrpc.Jclient, b []byte) error {
	// 实现更新 {{.upperStartCamelObject}} 对象的逻辑
	m := po.New{{.upperStartCamelObject}}Model(c)

    t := &po.{{.upperStartCamelObject}}{}

	err := json.Unmarshal(b, t)
	if err != nil {
		return err
	}

	err = m.Update(ctx, t)
	if err != nil {
		return err
	}
	// fmt.Printf("%+v\n", r)
	return nil
}

func updateByFields{{.upperStartCamelObject}}Model(ctx context.Context, c *jrpc.Jclient, b []byte) error {
	// 实现更新 {{.upperStartCamelObject}} 对象的逻辑
	m := po.New{{.upperStartCamelObject}}Model(c)

    t := &po.{{.upperStartCamelObject}}{}

	err := json.Unmarshal(b, t)
	if err != nil {
		return err
	}

	err = m.UpdateByFields(ctx, t, []string{ {{.fields}} })
	if err != nil {
		return err
	}
	// fmt.Printf("%+v\n", r)
	return nil
}


func delete{{.upperStartCamelObject}}Model(ctx context.Context, c *jrpc.Jclient, b []byte) error {
	m := po.New{{.upperStartCamelObject}}Model(c)
    id:= {{ if eq .dataType "string" }}"1"{{else if eq .dataType "int64" }}int64(1){{else if eq .dataType "uint64" }}uint64(1){{else}}1{{end}}
	err := m.Delete(ctx, id)
	if err != nil {
		return err
	}
	return nil
}

func list{{.upperStartCamelObject}}Model(ctx context.Context, c *jrpc.Jclient, b []byte) error {

	d := filter.NewAndFilter([]filter.FilterElement{}...)
	q := filter.NewQueryRequest(d, &filter.Group{}, []*filter.Sort{}, filter.NewPagination(0, 10))

	err := json.Unmarshal(b, q)
	if err != nil {
		return err
	}

	m := po.New{{.upperStartCamelObject}}Model(c)
	r, total, err := m.List(ctx, q)
	if err != nil {
		return err
	}
	
	bb, err := json.MarshalIndent(r, "", "  ")
	if err != nil {
		return err
	}

	fmt.Printf("%s %d\n", bb, total)
	return nil
}

func deleteByFilter{{.upperStartCamelObject}}Model(ctx context.Context, c *jrpc.Jclient, b []byte) error {

	d := filter.NewAndFilter([]filter.FilterElement{}...)
	q := filter.NewQueryRequest(d, nil, nil, nil)

	err := json.Unmarshal(b, q)
	if err != nil {
		return err
	}

	m := po.New{{.upperStartCamelObject}}Model(c)
	err = m.DeleteByFilter(ctx, q)
	if err != nil {
		return err
	}
	
	return nil
}